const mongoose = require('../utils/mongoose');
//创建模型,建表

let Schema = mongoose.Schema({
    username: { type: String, required: true },
    password: { type: String, required: true },
    avatar: { type: String, required: false },
    phoneNumber: { type: String, required: false },
    nickname: { type: String, required: false },
    sex: { type: String, required: false, default: "1" },
    emial: { type: String, required: false }
})


//创建集合(连接集合)
//创建集合的时候 自己加s
let Col = mongoose.model("users", Schema)

//往数据库中插入一条数据

//特殊的地方,需要实例化Col

//注册逻辑 就是往数据库插入数据的操作

/**
 * 
 * @param {Object} param 注册的信息
 * @returns {Promise} 返回的是promise
 */

const addUser = (param = {}) => {
    let db = new Col(param);
    return db.save().then(res => {
        //返回操作结果
        return {
            state: true, //这个字段我们自己定义的 用于标记本次数据库的操作是成功还是失败的
            res
        }
    })
        .catch(err => {
            return {
                state: false,
                errMsg: err.toString()
            }
        })
}

//需要一个查询数据是否存在的操作

const findUser = (query = {}) => Col.find(query).then(res => {
    return {
        state: true,
        res
    }
})
    .catch(err => {
        return {
            state: false,
            errMsg: err.toStirng()
        }
    })

module.exports = {
    addUser,
    findUser
}